package ch.zbw.vokabeltrainer.gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @author schwendimann
 * 
 *         Diese Kalsse erstellt das GUI in dem man neue Kategorien erstellen
 *         kann
 */
public class KategorieErstellen extends Erstellen {

	private static final long serialVersionUID = 1L;

	/**
	 * @param kontroller Erwartet einen Kontrollern
	 * 
	 *            Der Konstruktor erwartet einen Kontroller an den er das
	 *            ActionCommand weitergeben kann
	 */
	public KategorieErstellen(Kontroller kontroller) {
		super(kontroller);

		getAbbrechen().setActionCommand("Abbrechen");
		getAbbrechen().addActionListener(new ButtonListener());

		getOk().setActionCommand("ok");
		getOk().addActionListener(new ButtonListener());
		texteSetzen();
		pack();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ch.zbw.vokabeltrainer.gui.Erstellen#texteSetzen()
	 */
	public void texteSetzen() {
		super.texteSetzen();
		getLabel().setText(Uebersetzer.gibResourceBundle().getString(
				"KategorieErstellen"));
		if (getError()) {
			getErrorLabel().setText(Uebersetzer.gibResourceBundle().getString(
					"KategorieErstellen.Error"));
		}
	}

	/**
	 * @author schwendimann
	 * 
	 *         Der ActionListener wartet auf ein ActionCommand der Buttons
	 * 
	 */
	class ButtonListener implements ActionListener {

		/**
		 * Der ActionCommand wird abgefragt und entsprechend die Methoden
		 * aufgerufen
		 * 
		 * @Override
		 */
		public void actionPerformed(ActionEvent e) {
			String event = e.getActionCommand();
			gibKontroller().kategorieErstellenFertig(event);
		}
	}
}
